﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class УправлениеЗадачамиКлиент
	{
		///////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ВЫПОЛНЕНИЯ ЗАДАЧ

		public void ВыполнитьВыбраннуюЗадачу(/*Задача*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Ссылка",	Задача);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	Задачи.ВидЗадачи,
	|	Задачи.ОбъектЗадачи,
	|	Задачи.Дата КАК ДатаЗадачи
	|ИЗ
	|	Задача.ЗадачаИсполнителя КАК Задачи
	|ГДЕ
	|	Задачи.Ссылка = &Ссылка";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Не Выборка.Следующий()*/)
			{
			}
			//ВидЗадачи			= Выборка.ВидЗадачи;
			//ОбъектЗадачи		= Выборка.ОбъектЗадачи;
			//ДатаЗадачи			= Выборка.ДатаЗадачи;
			if(true/*ВидЗадачи = Справочники.ВидыЗадачПользователей.ВозвратНаРаботу*/)
			{
				//ЗадачаВозвратНаРаботу(ОбъектЗадачи, ДатаЗадачи);
			}
		}
		///////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ВЫПОЛНЕНИЯ ЗАДАЧ ЗАРПЛАТНО-КАДРОВОЙ ФУНКЦИОНАЛЬНОСТИ

		public void ЗадачаВозвратНаРаботу(/*ОбъектЗадачи, ДатаЗадачи*/)
		{
			//ФормаДокумента = Документы.ВозвратНаРаботуОрганизаций.ПолучитьФормуНовогоДокумента(, , ОбъектЗадачи);
			//ФормаДокумента.Заполнить(ОбъектЗадачи);
			if(true/*ФормаДокумента.РаботникиОрганизации.Количество() > 0*/)
			{
				//НоваяСтрока = ФормаДокумента.РаботникиОрганизации[0];
				//НоваяСтрока.ДатаВозврата = ДатаЗадачи;
			}
			//ФормаДокумента.Открыть();
		}

		public void ЗадачаДеньРождения(/*ОбъектЗадачи*/)
		{
			//ФормаЭлемента = ОбъектЗадачи.ПолучитьФорму();
			//ФормаЭлемента.Открыть();
		}

		public void ЗадачаДоначисление(/*ОбъектЗадачи, ДатаЗадачи*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Сотрудник",		ОбъектЗадачи);
			//Запрос.УстановитьПараметр("ДатаНачала",		НачалоМесяца(ДатаЗадачи));
			//Запрос.УстановитьПараметр("ДатаОкончания",	КонецМесяца(ДатаЗадачи));
			/*Запрос.Текст = 
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	Доначисления.Сотрудник КАК Ссылка,
	|	Доначисления.ДатаНачала КАК ДатаНачала,
	|	Доначисления.ДатаОкончания КАК ДатаОкончания,
	|	Доначисления.Организация
	|ИЗ
	|	РегистрСведений.ДоначисленияСотрудникам КАК Доначисления
	|ГДЕ
	|	Доначисления.Сотрудник = &Сотрудник
	|	И Доначисления.ДатаНачала >= &ДатаНачала
	|	И Доначисления.ДатаОкончания <= &ДатаОкончания";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Не Выборка.Следующий()*/)
			{
			}
			//ДокументДоначисление = Документы.НачислениеЗарплатыРаботникамОрганизаций.СоздатьДокумент();
			//ДокументДоначисление.Организация					= Выборка.Организация;
			//ЗаполнениеДокументовПереопределяемый.ЗаполнитьШапкуДокумента(ДокументДоначисление, глЗначениеПеременной("глТекущийПользователь"));
			//СписокСотрудников = Новый Массив;
			//СписокСотрудников.Добавить(ОбъектЗадачи);
			//ДокументДоначисление.ПериодНачисления				= Перечисления.ПериодНачисленияЗарплаты.ПрошлыйПериод;
			//ДокументДоначисление.ПериодНачисленияДатаНачала		= Выборка.ДатаНачала;
			//ДокументДоначисление.ПериодНачисленияДатаОкончания	= Выборка.ДатаОкончания;
			/*ДокументДоначисление.ВыполнитьАвтозаполнение(
	ДокументДоначисление.ПериодНачисленияДатаНачала, 
	ДокументДоначисление.ПериодНачисленияДатаОкончания,,,,
	СписокСотрудников);*/
			//ФормаДокумента = ДокументДоначисление.ПолучитьФорму();
			//ФормаДокумента.Открыть();
		}

		public void ЗадачаКадровоеПеремещение(/*ОбъектЗадачи, ДатаЗадачи*/)
		{
			//ФормаДокумента = Документы.КадровоеПеремещениеОрганизаций.ПолучитьФормуНовогоДокумента(, , ОбъектЗадачи);
			//ФормаДокумента.Заполнить(ОбъектЗадачи);
			if(true/*ФормаДокумента.РаботникиОрганизации.Количество() > 0*/)
			{
				//ФормаДокумента.РаботникиОрганизации[0].ДатаНачала = ДатаЗадачи;
			}
			//ФормаДокумента.Открыть();
		}

		public void ЗадачаМеханизмКонтроляПериодов(/*ВидЗадачи, ОбъектЗадачи, ДатаЗадачи*/)
		{
			//Запрос = Новый Запрос;
			//Форма = ПолучитьОбщуюФорму("ФормаОшибокКадровыхПеремещений", , ОбъектЗадачи);
			//Форма.Ошибки.Очистить();
			if(true/*ВидЗадачи = Справочники.ВидыЗадачПользователей.ОшибкиПриемаПоОсновномуМестуРаботы*/)
			{
				//МассивСотрудники = Новый Массив;
				//МассивСотрудники.Добавить(ОбъектЗадачи);
				//СообщенияОбОшибках = Новый Массив;
				//ПроцедурыУправленияПерсоналом.ПолучитьОшибкиПериодовРаботыСотрудникаПоОсновномуМестуРаботы(НеОпределено, Истина, МассивСотрудники, СообщенияОбОшибках, НеОпределено);
				//Регистраторы = Новый Соответствие();
			}
			//Форма.Открыть();
		}

		public void ЗадачаНачислениеПоКадровомуДокументу(/*ОбъектЗадачи*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Ссылка",	ОбъектЗадачи);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	Док.Организация
	|ИЗ
	|	Документ." + ОбъектЗадачи.Метаданные().Имя + " КАК Док
	|ГДЕ
	|	Док.Ссылка = &Ссылка";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			//Выборка.Следующий();
			//ФормаОбработки = Обработки.АнализНеявок.ПолучитьФорму();
			//ФормаОбработки.Организация					= Выборка.Организация;
			//ФормаОбработки.ОтбиратьСобытияПоДокументу	= Истина;
			//ФормаОбработки.ТипДокумента					= ОбъектЗадачи.Метаданные().Синоним;
			//ФормаОбработки.КадровыйДокументОтбора		= ОбъектЗадачи;
			//ФормаОбработки.Неявки.Очистить();
			//ФормаОбработки.Автозаполнение();
			//ФормаОбработки.Открыть();
		}

		public void ЗадачаОценкаИспытательногоСрока(/*ОбъектЗадачи, ДатаЗадачи*/)
		{
			//ФормаДокумента = Документы.РезультатИспытательногоСрока.ПолучитьФормуНовогоДокумента(, , ОбъектЗадачи);
			//ФормаДокумента.Сотрудник		= ОбъектЗадачи;
			//ФормаДокумента.Результат		= Перечисления.РезультатыИспытательногоСрока.Положительный;
			//ФормаДокумента.ДатаИзменения	= ДатаЗадачи;
			//ФормаДокумента.Открыть();
		}

		public void ЗадачаПерезаполнение(/*ОбъектЗадачи, ДатаЗадачи, Задача*/)
		{
			if(true/*НачалоМесяца(ДатаЗадачи) < НачалоМесяца(ОбщегоНазначения.ПолучитьРабочуюДату())*/)
			{
				//Форма = ПолучитьОбщуюФорму("ДиалогВопрос");
				//Форма.Заголовок	= "Перезаполнение документа";
				/*Форма.ЭлементыФормы.НадписьТекстВопроса.Заголовок =
		"Перезаполнять можно только документы текущего периода. Вы можете
		|Перерассчитать существующий документ
		|или
		|Отметить задачу как выполненную.";*/
				//Форма.ЭлементыФормы.КнопкаДействие1.Заголовок = "Перерассчитать";
				//Форма.ЭлементыФормы.КнопкаДействие2.Заголовок = "Отметить задачу";
				//Результат = Форма.ОткрытьМодально();
				if(true/*ПустаяСтрока(Результат)*/)
				{
				}
				if(true/*Результат = "1"*/)
				{
					//ЗадачаПерерасчет(ОбъектЗадачи, ДатаЗадачи);
				}
			}
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("ДокументЗаполнения",	ОбъектЗадачи);
			/*Запрос.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ЗаполнениеПлановыхНачислений.Сотрудник,
	|	ЗаполнениеПлановыхНачислений.Сотрудник.Физлицо КАК Физлицо
	|ИЗ
	|	РегистрСведений.ЗаполнениеПлановыхНачислений КАК ЗаполнениеПлановыхНачислений
	|ГДЕ
	|	ЗаполнениеПлановыхНачислений.ОбъектЗаполнения = &ДокументЗаполнения";*/
			//Выборка = Запрос.Выполнить().Выгрузить();
			if(true/*Выборка.Количество() = 0*/)
			{
			}
			//ДокОбъект = ОбъектЗадачи.ПолучитьОбъект();
			//ДокОбъект.ВыполнитьПерезаполнениеДокумента(Выборка.ВыгрузитьКолонку("Сотрудник"), Выборка.ВыгрузитьКолонку("Физлицо"));
			//ДокОбъект.ПолучитьФорму().Открыть();
		}
		// функция формирует сообщение с именами сотрудников, по которым произведен перерасчет
		//

		public object ПолучитьСообщениеОПерерасчетеСотрудников(/*ДокументПерерасчета*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("ДокументСсылка", ДокументПерерасчета);
			//ТекущаяДата = ОбщегоНазначения.ПолучитьРабочуюДату();
			if(true/*День(ТекущаяДата) < 20*/)
			{
				//АктуальныйПериодРегистрации = НачалоМесяца(ДобавитьМесяц(ТекущаяДата, -1));
			}
			//Запрос.УстановитьПараметр("АктуальныйПериодРегистрации", АктуальныйПериодРегистрации);
			/*Запрос.Текст = 
	"ВЫБРАТЬ ПЕРВЫЕ 4
	|	ПРЕДСТАВЛЕНИЕ(СотрудникиПерерасчета.ФизЛицо) КАК ПредставлениеФизЛица
	|ИЗ
	|	(ВЫБРАТЬ РАЗЛИЧНЫЕ
	|		ОсновныеНачисленияРаботниковОрганизацийПерерасчетОсновныхНачислений.ФизЛицо КАК ФизЛицо
	|	ИЗ
	|		РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ПерерасчетОсновныхНачислений КАК ОсновныеНачисленияРаботниковОрганизацийПерерасчетОсновныхНачислений
	|	ГДЕ
	|		ОсновныеНачисленияРаботниковОрганизацийПерерасчетОсновныхНачислений.ОбъектПерерасчета = &ДокументСсылка
	|	
	|	ОБЪЕДИНИТЬ
	|	
	|	ВЫБРАТЬ РАЗЛИЧНЫЕ
	|		ДополнительныеНачисленияРаботниковОрганизацийПерерасчетДополнительныхНачислений.ФизЛицо
	|	ИЗ
	|		РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций.ПерерасчетДополнительныхНачислений КАК ДополнительныеНачисленияРаботниковОрганизацийПерерасчетДополнительныхНачислений
	|	ГДЕ
	|		ДополнительныеНачисленияРаботниковОрганизацийПерерасчетДополнительныхНачислений.ОбъектПерерасчета = &ДокументСсылка
	|	
	|	ОБЪЕДИНИТЬ
	|	
	|	ВЫБРАТЬ РАЗЛИЧНЫЕ
	|		РасчетСреднегоЗаработкаПерерасчетСреднегоЗаработка.Физлицо
	|	ИЗ
	|		РегистрРасчета.РасчетСреднегоЗаработка.ПерерасчетСреднегоЗаработка КАК РасчетСреднегоЗаработкаПерерасчетСреднегоЗаработка
	|	ГДЕ
	|		РасчетСреднегоЗаработкаПерерасчетСреднегоЗаработка.ОбъектПерерасчета = &ДокументСсылка
	|	
	|	ОБЪЕДИНИТЬ
	|	
	|	ВЫБРАТЬ РАЗЛИЧНЫЕ
	|		ЗаполнениеПлановыхНачислений.Сотрудник.Физлицо
	|	ИЗ
	|		РегистрСведений.ЗаполнениеПлановыхНачислений КАК ЗаполнениеПлановыхНачислений
	|	ГДЕ
	|		ЗаполнениеПлановыхНачислений.ОбъектЗаполнения = &ДокументСсылка
	|		И ЗаполнениеПлановыхНачислений.ПериодРегистрации < &АктуальныйПериодРегистрации) КАК СотрудникиПерерасчета";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			//КоличествоСотрудников = 0;
			//ТекстСообщения = "Документ перерассчитан. Изменились результаты расчета сотрудников:";
			while(true/*Выборка.Следующий() И КоличествоСотрудников < 4*/)
			{
				//ТекстСообщения = ТекстСообщения + " " + Выборка.ПредставлениеФизЛица + ",";
				//КоличествоСотрудников = КоличествоСотрудников + 1;
			}
			/*;
	ТекстСообщения = Лев(ТекстСообщения, СтрДлина(ТекстСообщения) - 1);*/
			if(true/*Выборка.Количество() > 3*/)
			{
				//ТекстСообщения = ТекстСообщения + " и других...";
			}
			if(true/*Выборка.Количество() > 0*/)
			{
			}
			return null;
		}
		// ПолучитьСообщениеОПерерасчетеСотрудников()

		public void ЗадачаПерерасчет(/*ОбъектЗадачи, ДатаЗадачи*/)
		{
			if(true/*НачалоМесяца(ОбщегоНазначения.ПолучитьРабочуюДату()) <= НачалоМесяца(ДатаЗадачи)*/)
			{
				//Результат = "2";
			}
			if(true/*Результат = "1"*/)
			{
				//ФормаДокумента = Документы[Метаданные.НайтиПоТипу(ТипЗнч(ОбъектЗадачи)).Имя].ПолучитьФормуНовогоДокумента(, , ОбъектЗадачи);
				//ФормаДокумента.ПериодРегистрации				= НачалоМесяца(ОбщегоНазначения.ПолучитьРабочуюДату());
				//ФормаДокумента.ЗаполнитьПоПерерассчитываемомуДокументу(ОбъектЗадачи);
				//ФормаДокумента.Открыть();
			}
		}

		public void ЗадачаПриемНаРаботу(/*ОбъектЗадачи*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Сотрудник",	ОбъектЗадачи);
			/*Запрос.Текст =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	Док.Ссылка КАК Ссылка
	|ИЗ
	|	Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК Док
	|ГДЕ
	|	Док.Сотрудник = &Сотрудник
	|	И (НЕ Док.Ссылка.ПометкаУдаления)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Ссылка УБЫВ";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
				//ФормаДокумента = Выборка.Ссылка.ПолучитьФорму();
			}
			//ФормаДокумента.Открыть();
		}

		public void ЗадачаПроизводственныйКалендарь(/*ОбъектЗадачи*/)
		{
			//ФормаСпискаРегистра = РегистрыСведений.РегламентированныйПроизводственныйКалендарь.ПолучитьФормуСписка();
			//ФормаСпискаРегистра.ГодВФорме	= ОбъектЗадачи;
			//ФормаСпискаРегистра.Открыть();
		}

		public void ЗадачаРасчетныйДокумент(/*ВидЗадачи, ОбъектЗадачи, ДатаЗадачи*/)
		{
			if(true/*ВидЗадачи = Справочники.ВидыЗадачПользователей.РасчетЗарплаты*/)
			{
				//ВидДокумента	= "НачислениеЗарплатыРаботникамОрганизаций";
			}
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Организация",		ОбъектЗадачи);
			//Запрос.УстановитьПараметр("ПериодРегистрации",	НачалоМесяца(ДатаЗадачи));
			/*Запрос.Текст =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	Док.Ссылка КАК Ссылка
	|ИЗ
	|	Документ." + ВидДокумента + " КАК Док
	|ГДЕ
	|	Док.ПериодРегистрации = &ПериодРегистрации
	|	И Док.Организация = &Организация
	|	И (НЕ Док.ПометкаУдаления)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Ссылка УБЫВ";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
				//ФормаДокумента = Выборка.Ссылка.ПолучитьФорму();
			}
			//ФормаДокумента.Открыть();
		}

		public void ЗадачаСведенияОСтавкахЕСНиПФР(/*ОбъектЗадачи*/)
		{
			//Предупреждение("С 2010 года ЕСН заменен страховыми взносами. Заполнять сведения о ставках ЕСН и ПФР больше не требуется. Отметьте задачу как выполненную.");
		}

		public void ЗадачаУвольнение(/*ОбъектЗадачи, ДатаЗадачи*/)
		{
			//ФормаДокумента = Документы.УвольнениеИзОрганизаций.ПолучитьФормуНовогоДокумента(, , ОбъектЗадачи);
			//ФормаДокумента.Заполнить(ОбъектЗадачи);
			//ФормаДокумента.Организация	= ОбъектЗадачи.Организация;
			//ФормаДокумента.Открыть();
		}
	}
}
